/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package trunk.view.ColorChooser;

import java.awt.Color;
import trunk.model.PaintModel;
import trunk.observer.Observer;
import trunk.view.Paint;


/**
 * Class ColorChooser 
 * 
 * Composant représentant la fenetre d'ajout de couleur
 * 
 * @author LEFEVRE Michael
 * @author THOUE Jonathan
 */
public class ColorChooser extends ColorChooserView implements Observer{
    
    private ColorChooserCtrl ctrl;
    
    private Color newColor;
    private int red;
    private int green;
    private int blue;
    
    private PaintModel Paintmodel;
   /**
     * Constructeur par défaut 
     */
    public ColorChooser() {
      super();
      setColorChooserCtrl( new ColorChooserCtrl(this) );
      setColorChooserAddCtrl( new ColorChooserAddCtrl(this));
    }
    /**
     * Constructeur secondaire avec lien vers le MVC principal
     * @param model - lien vers le modele principal
     * @param principal - lien vers la vue principal
     */
    public ColorChooser(PaintModel model,Paint principal) {
      super();
      this.newColor = Color.white;
      this.Paintmodel=model;
      this.principal=principal;
      setColorChooserCtrl( new ColorChooserCtrl(this) );
      setColorChooserAddCtrl( new ColorChooserAddCtrl(this));
    }
    /**
     * Get PaintModel
     * @return le model principal
     */    
     public PaintModel getPaintmodel() {
        return Paintmodel;
    }
     /**
     * Get Blue
     * @return la composante bleu de la couleur
     */ 
    public int getBlue() {
        return blue;
    }
     /**
     * Set Blue
     * @param blue - la composante bleu de la couleur
     */ 
    public void setBlue(int blue) {
        this.blue = blue;
    }
     /**
     * Get Green
     * @return la composante verte de la couleur
     */ 
    public int getGreen() {
        return green;
    }
     /**
     * Set Green
     * @param green - la composante verte de la couleur
     */ 
    public void setGreen(int green) {
        this.green = green;
    }
     /**
     * Set NewCouleur
     * @param newColor - la nouvelle couleur composée
     */ 
    public void setNewColor(Color newColor) {
        this.newColor = newColor;
    }
     /**
     * Get Red
     * @return la composante rouge de la couleur
     */ 
    public int getRed() {
        return red;
    }
     /**
     * Set Red
     * @param red - la composante rouge de la couleur
     */ 
    public void setRed(int red) {
        this.red = red;
    }
    
}

